home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 11
/
CU Amiga Magazine's Super CD-ROM 11 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-06].iso
/
cucd
/
programming
/
oberonv4
/
tool
/
analyzer.tool
(
.txt
)
next >
Wrap
Oberon Text
|
1996-08-13
|
3KB
|
59 lines
Syntax10.Scn.Fnt
ParcElems
Alloc
Syntax10i.Scn.Fnt
Syntax10b.Scn.Fnt
Analyzer.Analyze * Analyzer.Analyze */ituvxs full analysis
Analyzer.Analyze *\its intermediate access, TB procs check, eval. seq.
Analyzer.Analyze (("*" | "@") ["\" opt] | {name ["\" opt]} "~" | "^")
Options (complementing each other):
i redeclaration of/use of/assignment to intermediate items
t redefinition of or new definition of type bound procedures
u used before set for different scopes
v use of var parameters
x use/initialization of exported items
s evaluation sequence of function calls
Analyzer.Analyze marks by default
- all non-exported variables/constants/types/fields that are declared
but never used, used before being initialized (*), never initialized,
and initialized but never used.
- non-exported [type-bound] procedures that are never called.
- modules that are imported but never used.
(*) For variables declared in a different scope, no warning is
produced (see option \u, however).
\i(ntermediate) additionally marks
- items that are already declared in an outer scope.
- the use of or assignment to intermediate items (e.g. local
variables/parameters declared in an outer scope).
\t(ype bound procedures) additionally marks
- the redefinition of type bound procedures.
- the new definition of type bound procedures in an extended type.
\u(sed) additionally marks
- 'used before set' for variables declared in a different scope.
\v(arpar) additionally marks
- variables that are used as var parameters and are therefore not
ensured to be initialized.
\x (eXported) additionally marks
- exported items that are declared but not used by the module itself,
used before being initialized, never initialized, and initialized but never
used.
\s (evaluation Sequence) additionally marks
- calls of procedures with more than one parameter, where function
calls occur in the parameter list. The evaluation sequence of
parameters may affect the side effects of these functions.
Add the following to your OberonErrors.Text.
3.5 Analyzer Warnings
900 never used
901 never set
902 used before set
903 set but never used
904 used as varpar, possibly not set
905 also declared in outer scope
906 access/assignment to intermediate
907 redefinition
908 new definition
909 statement after RETURN/EXIT
910 for loop variable set
911 implied type guard in record assignment
912 call might depend on evaluation sequence of params.